package com.wd.health.jpush;

import android.content.Context;
import android.content.Intent;
import android.util.Log;

import org.greenrobot.eventbus.EventBus;

import cn.jpush.android.api.CmdMessage;
import cn.jpush.android.api.CustomMessage;
import cn.jpush.android.api.JPushMessage;
import cn.jpush.android.api.NotificationMessage;
import cn.jpush.android.service.JPushMessageReceiver;

/**
 * @ProjectName:shopmall
 * @Package:com.bawei.myhealth.jpush
 * @ClassName:JPReceiver
 * @UpdateUser: 裴童童
 * @date: 2020/12/14
 */
public class JPReceiver extends JPushMessageReceiver {
    private static final String TAG = "极光";

    /**
     * tag 增删查改的操作会在此方法中回调结果。
     * @param context
     * @param jPushMessage
     */
    @Override
    public void onTagOperatorResult(Context context, JPushMessage jPushMessage) {
        super.onTagOperatorResult(context, jPushMessage);
        EventBus.getDefault().post(jPushMessage);
    }

    /**
     * 查询某个 tag 与当前用户的绑定状态的操作会在此方法中回调结果。
     * @param context
     * @param jPushMessage
     */
    @Override
    public void onCheckTagOperatorResult(Context context, JPushMessage jPushMessage) {
        super.onCheckTagOperatorResult(context, jPushMessage);
        EventBus.getDefault().post(jPushMessage);
    }


    /**
     * alias 相关的操作会在此方法中回调结果。
     * @param context
     * @param jPushMessage
     */
    @Override
    public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
        super.onAliasOperatorResult(context, jPushMessage);
        EventBus.getDefault().post(jPushMessage);
    }


    /**
     * 设置手机号码会在此方法中回调结果。
     * @param context
     * @param jPushMessage
     */
    @Override
    public void onMobileNumberOperatorResult(Context context, JPushMessage jPushMessage) {
        super.onMobileNumberOperatorResult(context, jPushMessage);
        EventBus.getDefault().post(jPushMessage);
    }


    /**
     * 注册成功回调
     * @param context
     * @param s
     */
    @Override
    public void onRegister(Context context, String s) {
        super.onRegister(context, s);
        Log.e(TAG,"自带广播注册成功回调");
    }

    /**
     * 长连接状态回调
     * @param context
     * @param b
     */
    @Override
    public void onConnected(Context context, boolean b) {
        super.onConnected(context, b);
        Log.e(TAG,"自带广播长连接状态回调");
    }

    /**
     * 注册失败回调
     * @param context
     * @param cmdMessage
     */
    @Override
    public void onCommandResult(Context context, CmdMessage cmdMessage) {
        super.onCommandResult(context, cmdMessage);
        Log.e(TAG,"自带广播注册失败回调");
    }

    /**
     * 通知的MultiAction回调
     * @param context
     * @param intent
     */
    @Override
    public void onMultiActionClicked(Context context, Intent intent) {
        super.onMultiActionClicked(context, intent);
    }

    /**
     * 收到通知回调
     * @param context
     * @param notificationMessage
     */
    @Override
    public void onNotifyMessageArrived(Context context, NotificationMessage notificationMessage) {
        super.onNotifyMessageArrived(context, notificationMessage);
        Log.e(TAG,"自带广播收到通知回调"+ "\n" + notificationMessage.toString());
    }

    /**
     * 点击通知回调
     * @param context
     * @param notificationMessage
     */
    @Override
    public void onNotifyMessageOpened(Context context, NotificationMessage notificationMessage) {
        super.onNotifyMessageOpened(context, notificationMessage);
        Log.e(TAG,"自带广播点击通知回调");
    }

    /**
     * 清除通知回调
     * @param context
     * @param notificationMessage
     */
    @Override
    public void onNotifyMessageDismiss(Context context, NotificationMessage notificationMessage) {
        super.onNotifyMessageDismiss(context, notificationMessage);
        Log.e(TAG,"自带广播清除通知回调");
    }

    /**
     * 收到自定义消息回调
     * @param context
     * @param customMessage
     */
    @Override
    public void onMessage(Context context, CustomMessage customMessage) {
        super.onMessage(context, customMessage);
        Log.e(TAG,"自带广播收到自定义消息回调");
    }
} 
